package com.reggie.service.model.bo;

import com.reggie.acl.dataobject.OrderDetail;
import com.reggie.acl.dataobject.Orders;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

/**
 * 订单
 *
 * @author yth
 * @since 2023/2/6 15:53
 */
@Data
public class OrdersBO {

    /**
     * 订单详情集合
     */
    private List<OrderDetail> orderDetails;

    /**
     * 下单时间
     */
    private LocalDateTime orderTime;

    /**
     * 主键
     */
    private Long id;

    /**
     * 订单号
     */
    private String number;

    /**
     * 订单状态 1待付款，2待派送，3已派送，4已完成，5已取消
     */
    private Integer status;

    /**
     * 下单用户
     */
    private Long userId;

    /**
     * 地址id
     */
    private Long addressBookId;


    /**
     * 结账时间
     */
    private LocalDateTime checkoutTime;

    /**
     * 支付方式 1微信,2支付宝
     */
    private Integer payMethod;

    /**
     * 实收金额
     */
    private BigDecimal amount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 地址
     */
    private String address;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 收货人
     */
    private String consignee;


    public OrdersBO() {
    }

    public OrdersBO(Orders orders) {
        assert orders != null;
        BeanUtils.copyProperties(orders, this);
        this.orderDetails = new ArrayList<>(8);
        this.setOrderTime(orders.getCreateTime());
    }

}
